fragment (graphql)
#wip
https://graphql.org/learn/queries/#fragments
gpt-5.icon
クエリの再利用可能な部品 を定義できる仕組みです。
共通して取得したいフィールドをまとめておき、それを複数のクエリやサブクエリで使い回すことができます。
基本的な使い方
code:graphql(js)
fragment UserFields on User {
id
name
email
}
query GetUsers {
users {
...UserFields
}
}
query GetSingleUser {
user(id: 1) {
...UserFields
}
}
fragment UserFields on User
→ User 型に属する共通フィールド id, name, email をまとめたもの。
...UserFields
→ クエリ内で fragment を展開して利用。
🔹 メリット
1. 重複の排除
同じフィールド指定を繰り返さなくて済む。
2. 保守性向上
仕様変更でフィールドが増えた場合、fragment を直せば全てのクエリに反映される。
3. 読みやすさ
長いクエリを部品化して整理できる。
inline fragment